3MXB file
3MXB geometry format respects the LOD principles described in the first section. It is organized as a tree structure, where children are a higher-resolution representation of the parent node.
A 3MXB file is written in binary format. It packs or references all the data needed by a node or by a set of nodes, including all the textures and all the geometry. A single 3MXB file can represent several nodes in the LOD tree; in this case, all the nodes are siblings, children of the same lower-resolution node.
The 3MXB format has the following structure:
A 3MXB file starts with the magic number 3MXBO. Following it is SH – the size of the file’s header in bytes; SH is a number in binary format (uint 32).
The file header comes immediately after SH. The header is a string of size SH, in JSON format, made up of:
version: | 1 | |
nodes: | [node_data0, …., node_data m] | array of sibling data, one for each sibling.The content of the node data will be specified in a dedicated section. |
resources: | [resource_data0, …., resource _data p] | array of resource metadata, one for each resource (texture or geometry) needed by the nodes. The resource data is detailed further below. |
The 3MXB file finishes with a number of binary buffers: